export default {

	/**
	 * 打开相册，默认不可选择原图
	 * @param count         number,必传值，最多选择的图片数量，默认9
	 * @param original      boolean,非必传，是否可选择原图
	 * @param compressed    boolean,非必传，是否可选择压缩图
	 * @param success       function,必传值，成功的回调函数，res,参数可接收选择的图片对象数组
	 * @param fail          function,必传值，失败的回调
	 * @param complete      function,必传值，接口调用完成的回调
	 */
	openAlbum(count = 9,original = false,compressed = true){
		return new Promise((resolve, reject) => {
			const sizeType = [];
			if(original){
				sizeType.push('original');
			}
			if(compressed){
				sizeType.push('compressed');
			}
			wx.chooseImage({
				count: count,
				sizeType: sizeType,
				sourceType: ['album'],
				success: function (res){
					resolve(res);
				},
				fail: function (res){
					reject(res);
				}
			});
		})
	},

	/**
	 * 打开照相机
	 * @param count
	 * @param original
	 * @param compressed
	 * @param success   function，非必传,接口调用成功的回调函数
	 * @param fail      function，非必传,接口调用失败的回调函数
	 * @param complete  function，非必传,接口调用结束的回调函数（调用成功、失败都会执行）
	 * @returns {Promise}
	 */
	simpleCamera(count = 9,original = false,compressed = true){
		return new Promise((resolve, reject) => {
			const sizeType = [];
			if(original){
				sizeType.push('original');
			}
			if(compressed){
				sizeType.push('compressed');
			}
			// 调用微信官方从相册选择图片的API
			wx.chooseImage({
				count: count,
				sizeType: sizeType,
				sourceType: ['camera'],
				success: function (res){
					resolve(res);
				},
				fail: function (res){
					reject(res);
				}
			});
		});
	},


	/**
	 * 拍照,需要配合camera组件使用
	 * @param quality
	 * @param success   function，非必传,接口调用成功的回调函数
	 * @param fail      function，非必传,接口调用失败的回调函数
	 * @param complete  function，非必传,接口调用结束的回调函数（调用成功、失败都会执行）
	 * @returns {wx.CameraContext} 照相机上下文对象
	 */
	openCamera(quality = 0,success,fail = null,complete = null){
		const photoQuality = (quality === 0 ? 'normal' : (quality < 0 ? 'low' : 'high'))
		const cameraContext = wx.createCameraContext();
		cameraContext.takePhoto({
			quality: photoQuality,
			success,
			fail,
			complete
		});
		return cameraContext;
	},

	/**
	 * 保存图片到系统相册
	 * @param path      string,必传值,图片文件路径，可以是临时文件路径或永久文件路径 (本地路径) ，不支持网络路径
	 * @param success   function，非必传,接口调用成功的回调函数
	 * @param fail      function，非必传,接口调用失败的回调函数
	 * @param complete  function，非必传,接口调用结束的回调函数（调用成功、失败都会执行）
	 * @returns {Promise}
	 */
	saveImgToPhotoAlbum(path) {
		return new Promise((resolve, reject) => {
			wx.saveImageToPhotosAlbum({
				filePath: path,
				success:function (res) {
					resolve(res);
				},
				fail: function (res) {
					reject(res);
				}
			});
		})
	}
}
